package com.zhonghui.scm.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.zhonghui.common.annotation.Excel;
import com.zhonghui.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

/**
 * 供应链SCM-采购管理-采购到货对象 scm_purchase_arrival
 *
 * @author zhonghui
 * @date 2022-05-26
 */
@ApiModel("采购管理-采购到货对象")
public class ScmPurchaseArrival extends BaseEntity {

    /** id */
    @Excel(name = "编号")
    @ApiModelProperty("编号")
    private Long id;

    /** 到货单号 */
    @Excel(name = "到货单号")
    @ApiModelProperty("到货单号")
    private String deliveryNumber;

    /** 合同Id */
    @ApiModelProperty("合同Id")
    private Long purchasingContractId;

    /** 合同编号 */
    @Excel(name = "合同编号")
    @ApiModelProperty("合同编号")
    private String purchasingContractNo;

    /** 供应商名称 */
    @Excel(name = "供应商名称")
    @ApiModelProperty("供应商名称")
    private String saleSupplierName;

    /** 供应商Id */
    @ApiModelProperty("供应商Id")
    private Long supplierId;

    /** 联系人 */
    @Excel(name = "联系人")
    @ApiModelProperty("联系人")
    private String contacts;

    /** 联系电话 */
    @Excel(name = "联系电话")
    @ApiModelProperty("联系电话")
    private String contactNumber;

    /** 到货日期 */
    @Excel(name = "到货日期")
    @ApiModelProperty("到货日期")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date arrivalDate;

    /** 状态 */
    @Excel(name = "状态")
    @ApiModelProperty("状态")
    private Integer status;

    /** 采购到货明细信息 */
    @ApiModelProperty("采购到货明细信息")
    private List<ScmPurchaseArrivalItem> scmPurchaseArrivalItemList = new ArrayList<>();

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getDeliveryNumber() {
        return deliveryNumber;
    }

    public void setDeliveryNumber(String deliveryNumber) {
        this.deliveryNumber = deliveryNumber;
    }

    public Long getPurchasingContractId() {
        return purchasingContractId;
    }

    public void setPurchasingContractId(Long purchasingContractId) {
        this.purchasingContractId = purchasingContractId;
    }

    public String getPurchasingContractNo() {
        return purchasingContractNo;
    }

    public void setPurchasingContractNo(String purchasingContractNo) {
        this.purchasingContractNo = purchasingContractNo;
    }

    public Date getArrivalDate() {
        return arrivalDate;
    }

    public void setArrivalDate(Date arrivalDate) {
        this.arrivalDate = arrivalDate;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public List<ScmPurchaseArrivalItem> getScmPurchaseArrivalItemList() {
        return scmPurchaseArrivalItemList;
    }

    public void setScmPurchaseArrivalItemList(List<ScmPurchaseArrivalItem> scmPurchaseArrivalItemList) {
        this.scmPurchaseArrivalItemList = scmPurchaseArrivalItemList;
    }

    public String getSaleSupplierName() {
        return saleSupplierName;
    }

    public void setSaleSupplierName(String saleSupplierName) {
        this.saleSupplierName = saleSupplierName;
    }

    public String getContacts() {
        return contacts;
    }

    public void setContacts(String contacts) {
        this.contacts = contacts;
    }

    public String getContactNumber() {
        return contactNumber;
    }

    public void setContactNumber(String contactNumber) {
        this.contactNumber = contactNumber;
    }

    public Long getSupplierId() {
        return supplierId;
    }

    public void setSupplierId(Long supplierId) {
        this.supplierId = supplierId;
    }

    @Override
    public String toString() {
        return "ScmPurchaseArrival{" +
                "id=" + id +
                ", deliveryNumber='" + deliveryNumber + '\'' +
                ", purchasingContractId=" + purchasingContractId +
                ", purchasingContractNo='" + purchasingContractNo + '\'' +
                ", arrivalDate=" + arrivalDate +
                ", status=" + status +
                '}';
    }
}
